package com.nageoffer.aicloud.service;

import com.nageoffer.aicloud.dto.req.OpenAIChatReqDTO;
import com.nageoffer.aicloud.dto.req.OpenAIDrawReqDTO;
import com.nageoffer.aicloud.dto.resp.OpenAIChatListRespDTO;
import com.nageoffer.aicloud.dto.resp.OpenAIChatRespDTO;
import com.nageoffer.aicloud.dto.resp.OpenAIDrawListRespDTO;
import com.nageoffer.aicloud.dto.resp.OpenAIDrawRespDTO;

import java.util.List;

/**
 * ChatGPT 对话接口层
 */
public interface OpenAiService {

    /**
     * ChatGPT 对话
     *
     * @param requestParam 请求入参
     * @return 结果返回实体
     */
    OpenAIChatRespDTO openAiChatQuestion(OpenAIChatReqDTO requestParam);

    /**
     * ChatGPT 绘图
     *
     * @param requestParam 请求入参
     * @return 结果返回实体
     */
    OpenAIDrawRespDTO openAiDrawQuestion(OpenAIDrawReqDTO requestParam);

    /**
     * 获取 chatgpt 历史对话
     *
     * @return 历史对话列表
     */
    List<OpenAIChatListRespDTO> getOpenAiChatList();

    /**
     * 获取 chatgpt 历史绘画记录
     *
     * @return 历史绘画列表
     */
    List<OpenAIDrawListRespDTO> getOpenAiDrawList();
}
